Debugging as a Science, that too, when your Program is Changing

نویسنده

  • Abhik Roychoudhury
چکیده

Program debugging is an extremely time-consuming process, and it takes up a large portion of software development time. In practice, debugging is still very much of an art, with the developer painstakingly going through volumes of execution traces to locate the actual cause of an observable error. In this work, we discuss recent advances in debugging which makes it systematic scientific activity in its own right. We explore the delicate connections between debugging and formal methods (such as model checking) in the overall task of validating software. Moreover, since any deployed software undergoes changes in its lifetime, we need debugging methods which can take the software evolution into account. We show how symbolic execution and Satisfiability Modulo Theories (SMT) solvers can be gainfully employed to greatly automate software debugging of evolving programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SUGI 28: Beyond Debugging: Program Validation

"Act in haste and repent at leisure; code too soon, and debug forever." Raymond Kennington In their paper on debugging, Lora Delwiche and Susan Slaughter say that good debuggers make good programmers. Let's take that one step further to say that good analysts and problem-solvers make good programmers. Just because a SAS® program is free of errors, warnings, notes, and bugs does not guarantee th...

متن کامل

P35: How to Manage Anxiety

Anxiety is a mental state that is elicited in anticipation of threat or potential threat. Sensations of anxiety are a normal part of human experience, but excessive or inappropriate anxiety can become an illness. Anxiety is part of the normal human experience. We may speculate that it served human survival during evolution by enhancing preparedness and alertness. However, anxious manifestations...

متن کامل

Controlling Search Space Materialization in a Practical Declarative Debugger

While the idea of declarative debugging has been around for a quarter of a century, the technology still hasn’t been adopted by working programmers, even by those working in declarative languages. The reason is that making declarative debuggers practical requires solutions to a whole host of problems. In this paper we address one of these problems, which is that retaining a complete record of e...

متن کامل

A theoretical study of dipole moments, energy levels and structural parameters in the Oxymetazoline drug as a nano carrier based on fullerene with changing substitution

Oxymetazoline is a decongestant. It works by constricting (shrinking) blood vessels (veins and arteries) in your body. The nasal formulation acts directly on the blood vessels in your nasal tissues. Constriction of the blood vessels in your nose and sinuses leads to drainage of these areas and a decrease in congestion. Oxymetazoline is an adrenomimetic that nonselectively agonizes α1...

متن کامل

Tool Support for Software Engineering Education

Although software engineering is a well-documented area of computer science, courses in software engineering frequently do not give students enough practical experience with concepts such as software design, prototyping, programming, debugging, program understanding, software reuse, and so on. As a result, computer science graduates too often acquire a sound theoretical understanding of softwar...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 266  شماره 

صفحات  -

تاریخ انتشار 2010